Aprašymas to, ką programa daro arba turi daryti.
Gali būti neformali (nusakomoji) arba formali. Neformali skirta žmogui, kad jis žinotų, kokius rezultatus turi duoti programa ir iš to suprastų, kaip programuoti. Formali užrašoma šiam tikslui skirta specifikavimo kalba ir skirta kompiuteriui, kad jis galėtų patikrinti (verifikuoti) žmogaus parengtą programą arba pagal specifikaciją sintezuoti programą.
Yra įvairių specifikavimo kalbų ir metodų. Jie kol kas dar nėra tobuli ir programos dar mažai sintezuojamos arba verifikuojamos.
Dar žr. specifikacija,